<?php
namespace app\home\controller;
use think\Controller;
use think\Request;
use think\Db;
use think\captcha;
use think\Session;

use app\home\model;

class Home extends Controller{
    //地址跳转，传参
    public function index(){
        // $_SESSION['user']='aaaa';
        Session::set('user','xdc');
        return $this->fetch('home@/login');
    }
    public function cases($id){
        if(isset($id)){
            return view('home@/case');
        }else{
            echo 'no';
        }
    }


    //表单处理
    public function User(){
        // echo "<pre>";

        //通过 submit 提交表单 获取参数
        print_r($_POST);    
        // // print_r($_GET);

        //通过TP5框架的 input() 方法 获取表单参数
        // print_r(input());   
        // print_r(input('pwd'));

        // 通过 Request 这个类的param()方法获取参数
        // $r = Request::instance();    
        // $res = $r->param();
        // print_r($res);

        //  通过ajax异步获取参数
        // return input(); //return 默认返回json数据
        // $usr = $_POST['usr'];
        // $pwd = $_POST['pwd'];
        // echo $usr.$pwd;

    }

    //数据库操作
    public function login(){
        echo '<pre>';
        //  使用助手函数 
        $db = db('login');  //实例化一个数据库对象
        $res = $db->where('user','=','jkld')->select();
        print_r($res);

        //使用 Db 类 ,先use think\Db;
        // $D = Db::table('login'); //不使用前缀，输入完整的数据表名
        // $D = Db::name('login'); //使用前缀，自动补全自定义前缀

        // $res = $D->find();   //查询单条 id

        // $res = $D->select();    //查询所有

        // $res = $D->query('select * from login'); //使用原生的sql语句 返回结果；
        // $res = $D->execute('delete from login where id=31'); //使用原生的sql语句 返回影响条数；
        // print_r($res);
        
        //field()选取输出字段,where()字段条件筛选,order()按条件排序，limit()限制输出条数
        //curd指数据库的增删改查，只能放在最末尾
        //查
        // $res = $D->field('id,user,password')->where('id','<','40')->order('id','desc')->limit(0,2)->select(); 
        //增
        // $data = ['user'=>'kugou','password'=>'123456','time'=>time()];
        // $res = $D->insert($data);
        // $res = $D->getLastInsID(); //获取最后插入的ID,只能用于增加
        //删
        // $res = $D->delete(204);//删除单条条
        // $res = $D->delete([203,202,201]);//删除多条
        //改
        // $res = $D->where('id','=','200')->update($data); //获取最后插入的ID
        // $res = $D->getLastSql(); //获取最后的SQL语句

        
    }

    //使用自定义类 User ；
    // public function logins(){
    //     // $D =new User('login');  //普通类
    //     // $res = $D->get();
    //     // print_r($res);

    //     //单例模式
    //     $D = User::getInstance();
    //     $D->sheet = 'login';
    //     $res = $D->get();
    //     var_dump($res);
    // }

    //自定义 图形验证码
    public function MakeValidate(){
        $config = [
            'length'=>4,
            'useCurve'=>false,
            'useNoise' => true,
            'reset'    => true,
            'fontttf'  => '2.ttf',
            'useImgBg' => false,
            'fontSize' => 18,
        ];
        $c = new \think\captcha\Captcha($config);   //实例化类
        return $c->entry(1);
    }

    //默认图形验证码
    public function CheckValidate(){
        $code = $_POST['code'];
        // var_dump($code);
        // $res = captcha_check($code); // 助手方法
        // $config = ['reset'=>true];
        $c = new \think\captcha\Captcha();   //实例化类
        // var_dump($c->entry(1));
        $res = $c->check($code,1);
        return ['res'=>$res];
    }
    
    //原生PHP分页
    public function page(){
        $config = [
            'type'      => 'bootstrap3',
            'var_page'  => 'page',
            'list_rows' => 5,
        ];
        /*            数据表               排序方式         每页条数（默认15）*/ 
        $rows = Db::table('login')->order('ID','desc')->paginate($config);
        $link = $rows->render();//分页链接样式
        // $rows->items();//数据内容
        // $rows->total();//记录总条数
        // $rows->listRows();//页面条数
        // $rows->lastPage();//总页数
        // $rows->currentPage();//当前页

        $this->assign(['rows'=>$rows,'link'=>$link]);
        
        return $this->fetch('home@/page');
    }

    //ajax异步分页
    public function ajaxThinkPage(){
        $page = input('page');
        $config = [
            'type'      => 'BootstrapAjax',
            'var_page'  => 'page',
            'list_rows' => 5,
            'page' => $page,
        ];
        $rows = Db::table('login')->order('ID','desc')->paginate($config);
        $link = $rows->render();//分页链接样式
        return ['rows'=>$rows,'link'=>$link];
    }
}
